どうもNSZ山本です。
写真をきれいに加工してネットに載せたい、友人に送りたい時がしばしばあると思います。
これまでの方法
そうした際によく用いられるのは、スマホでは加工アプリ、パソコンだとペイントソフトまたはブラウザ上で加工する手段があります。
スマホアプリ
スマホ向けは様々な写真加工アプリがあります。今回私が作ったのはwindows向けでスマホは関係ないですが。
スマホの写真ビューアに標準装備として加工機能が付いている場合もあります。
PC
【無料】Photoshopの代用に使える画像編集・加工ツールまとめ|ferret [フェレット]
PCの場合①ソフトを使うか、②webサービスを使うかになります。
①ソフトで有名なのはphotoshopでしょう。
photoshopは何でもできる代わりに、ソフトが異常に重くパワーがあるマシンが必要な事が欠点です。大抵は割引か何かの裏技を使って買うとは思いますが、正規の値段が年間26000円もすることも障壁です。
エレメンツ(機能が少し少ない)バージョンならパッケージ版で16000円で済みます。
フリーの画像加工ソフトの王者と言えばGIMPです。
ツールの配置に少し癖があるような気がしますが、大抵のことはできます。
②webサービスは、ブラウザ上にアップロード、操作を行うものです。
例えばFotorというサービスがあります。
利点はインストール不要なこと。ホテルに設置してあるパソコンやネカフェのパソコンでも、どんなPCでも使えます。
欠点もあります。会員制のことが多く登録は面倒です。いくら21世紀のネット速度が速くなったからと言ってもアップロードとダウンロードに時間が掛かることは明らかです。
加えて一応システム関係の職である私から言うと、あなたの写真はこの運営会社に保持される可能性があります。そのリスクは受け入れる必要があります。(あくまで予測で確信があるわけではないですが私は気持ち悪いから使いたくない)
上記に挙げたこれらの方法は写真1枚1枚に最適な色合いを出せます。それは良いことです。
でも、
複数の写真を一気に加工したいとき、photoshopやGIMPのようなペイントソフトだと1枚1枚明度彩度コントラストの調節バーをスライドさせるのは意外と面倒です。
15枚~20枚を超えるとまじでかなり深刻に心から実際問題めんどいです。
ましてやwebサービスに1枚1枚アップして加工してDLなんてやってられません。
100%その写真に最適な色合いは出なくていい。この際あえて100%は捨てましょう。
80%でいい。
妥当なレベルで複数の、大量のきれいな写真を一気に出してくれるソフトが欲しい。
作ろうぜ。
作った。
ダウンロード
ダウンロード
直接ダウンロード
使い方
解凍しておきます。
bp\bp配下に
bp.exeがあると思います。
クリックして起動します。
選択ウィンドウで任意の場所を選択します。
適当な写真をクリック。
一つクリックすれば同一フォルダ内は全部同じ処理をします。
結構奇麗な写真が1瞬で手軽にできました。
上はテストデータ3枚ですが、これが20枚とかになると威力を発揮するでしょう。
速度
1000万画素の写真20枚を処理しました。結果は25秒。1枚当たり1.25秒です。
写真取り込み→色変更→写真出力を全て行って1.25秒は悪くはない速度と思います。
元画像はフォルダに残る仕様です。明るさや色合いが気に食わない写真は個別でペイントソフトを使ってくださいね。
明るさを好みに調節
明るさを好みに調節する機能があります。
bp.exeの階層に設定ファイルを置けばOK。
設定ファイルをダウンロードします。
こいつです。
bp.exe と同じフォルダに配置します。
conf.textを開くと1行目に数字を入力するところがあるります。ここをいじります。
- 元の写真の明るさが1
- confファイルのデフォルトが1.1(少し明るめ)
- 明るい写真好きな人のお勧めは1.3
- 0は真っ黒
2くらいまではアリだと思いますが、5とかになると質量を直接分解したみたいなヤバい光線が地球を包んでる写真になります。
今回は差異を大袈裟に分かりやすくするため、試しに”3″でやってみます。
1行目を B:3 にしてテキスト保存。
bp.exeを起動したものがこちら。
夜景なら3くらいでも案外良いかもしれませんね。
日中の飛行機の写真は明るすぎますね。
この辺はコンフィグファイルをいじるかして上手く調節してください。
以上。
以下はたぶん蛇足。
素の写真じゃないとダメという批判について
「色調をいじるなんて偽の写真じゃないか。そんなのは邪道だ。」
写真生データ原理主義の主張は私も理解しています。
元の写真の方が見てみたいという気持ちも妥当です。
……….
ペンタ67という凄いフィルムカメラがこの世には存在します。写真の比が6×7という特殊なカメラです。
かつて知人のペンタ67おじさんが言いました。
“デジカメは本当の色じゃないんだ。作った色だから。こいつ(67)は決まると本当にいい色が出るんだ”
そうです。
既にデジタルで撮ってる時点でそれが例え本体30万円の超凄いデジタル一眼であっても、デジタルである以上本物の色ではありません。
生データとは一体
もしメーカーの技術者が開発中に保存用のアルゴリズムの数値を開発時に1単位変えてたら、昨日撮った写真はその技術者の意思によって1単位変わってたことになります。
そもそも一眼って「鮮やかモード」とか「雅」とか「ほのか」とか、いったいどれが本物の色なのだろうか。
(注意)
30万円のカメラでも理論上本物の色は出ないというだけです。
30万のカメラを批判したみたいになってますがそうではありません。
30万のカメラで撮った写真は実際問題めっちゃすげえキレイです。
アウラの消失説
“アウラの消失”は絵画など芸術分野のものです。しかし写真にも通じるものがあり、アウラの消失という概念は興味深いものがあります。
“アウラの消失”は1930年代、芸術作品の機械的なコピーが可能になった頃に提唱された概念です。
1 2 3 |
「Aura is a quality integral to an artwork that cannot be communicated through mechanical reproduction techniques – such as photography The term was used by Walter Benjamin in his influential 1936 essay The Work of Art in the Age of Mechanical Reproduction.」 |
アウラは機械的な再生産ではコピーできない芸術作品のクオリティです。
この言葉は1936年ウォルターベンジャミンによって初めて使われました。それは芸術の機械的な再生産が始まった時期です。
…
写真もある意味では芸術作品(この場合実際の体験という作品)の機械的なコピーです。
旅行先で体験して目視する景色は格別です。
後で写真で見ると「あれ?もっと綺麗で凄かったんだけどな」と。そのときの美しさが今一つ再現されていない事があります。(逆に写真でなくて脳内の記憶の方が当時の良さを補完することがあります)
おそらくあなたの写真とあなたが経験しているのはアウラの消失です。
そうしたとき、
行ったときのリアルタイムの感動から減価された分を画像処理で補うことに、不当さは認められないはずです。
10-5+3=8 みたいなものです。
これで生写真原理主義の人の考えを変えられるとは思ってはいません。
こういう考えもあるよということでひとつ。
The Work of Art in the Age of Mechanical Reproduction -wikipedia
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
from PIL import Image from PIL import ImageEnhance from pathlib import Path import os, tkinter.filedialog, tkinter.messagebox path = 'conf.txt' if os.path.exists(path): f = open('conf.txt') data = f.read() lines = data.split('\n') f.close() if lines[0]: bri = lines[0] bri = float(bri[2:]) else: bri = 1.1 root = tkinter.Tk() root.withdraw() fTyp = [("","*")] iDir = os.path.abspath(os.path.dirname(__file__)) thisfile = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir) path1 = Path(thisfile).parent os.chdir(path1) files = os.listdir() for file in files: fullpath = str(path1) +'\\'+ file name, ext = os.path.splitext(file) img =Image.open(fullpath) img = img.point(lambda x: x * bri)#default1.1 sat = ImageEnhance.Color(img) nimg = sat.enhance(1.3) con = ImageEnhance.Contrast(nimg) nimg = con.enhance(1.8) nfullpath = str(path1) + '\\' + name + 'new.jpg' nimg.save(nfullpath, quality=80) |
41行目にこれ追加すると縮小してくれます。
1 |
nimg.thumbnail((1200, 1200), Image.LANCZOS) |
参考サイト
画像
Pythonの画像処理ライブラリPillow(PIL)の使い方
Pythonで彩度、コントラスト、明度、シャープネスを適用する
ファイルストリーム
Python: テキストファイルの読み込み – read()、readlines()、readline()メソッド